var loading = '<span class="loading"></span>';
var loadingBar = '<span class="loadingBar"></span>';


$(function(){
	
});

function listBg(obj){
	$(obj).find('tr:odd').each(function(){
		$(this).addClass('Active');
	});
};

var chechBoxFlag = true;
function chechBox(box){
	chechBoxFlag ? 
		$(box).each(function(){	 $(this).attr('checked',true) ; }) :
		$(box).each(function(){	 $(this).attr('checked',false) ; }) ;
	chechBoxFlag  ? chechBoxFlag = false :  chechBoxFlag = true ;
};

function tagSelect(obj){
	$(obj).each(function(){
		
		if(!$(this).hasClass('all')){
			$(this).click(function(){
				$as = $(this).parent();
				$as.find('.all').removeClass('active');
				$(this).toggleClass('active');
				if(  $as.find('a').length == $as.find('a.active').length + 1  )
					$as.find('.all').addClass('active');
				else
					$as.find('.all').removeClass('active');
				
			});
		}
	});
};


function time(){
	return (new Date()).valueOf();
}


function getHash(strName,strHref){
	strHref = strHref ? strHref : window.location.href;
	strHref = strHref.split('#')[1];
	var intPos = strHref.indexOf("?"); 
	var strRight = strHref.substr(intPos + 1); 
	var arrTmp = strRight.split("&");
	for(var i = 0; i < arrTmp.length; i++){ 
		var arrTemp = arrTmp[i].split("="); 
		if(arrTemp[0].toUpperCase() == strName.toUpperCase())
			return arrTemp[1]; 
	}			
	return "";	
}




function checkBanChar( obj_val ){
	szMsg = "{}:;,./?[~!!@#$%^&*()\"_+|`-=<>\\！@#￥%……&*（）——+|·-=【】；：“”‘《》？，。、]";
	for(i=1;i<szMsg.length+1;i++){
		if(obj_val.indexOf(szMsg.substring(i-1,i))>-1){
			return true;
			break;		
		}
	}
	return false;
}


function remove(obj){
	$(obj).remove();
}

function stringLen(str){	
	var TrueLen = 0;
	for(var i=0; i<str.length ; i++)
	{  
		var c = str.charCodeAt(i);  
		if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) TrueLen++ ;  
		else TrueLen+=2;  
	}
	return TrueLen;
}

function StringSub(str , len ,end){
	if(!end) end = "";
	var TrueLen = 0;
	if( len > stringLen(str) ) end = "" ;
	for (var i=0; i<len ; i++)
	{var c = str.charCodeAt(i);if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) TrueLen+=2 ;else TrueLen++ ;  
	}
	return str.substr(0, TrueLen/2) + end;
}

function isEmail(val){
	var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;
	if(!myreg.test(val))
		return false;
	return true;
};

function strLimit(obj,showInfoObj,maxNum,zhChar){
	var $showInfoObj = $(showInfoObj);
	var $obj = $(obj);
	if( !zhChar ) zhChar = 2 ;
	updateInfo();
	$obj.blur(function(){
			updateInfo();
		}).mouseup(function(){
			updateInfo();
		}).keydown(function(){
			updateInfo();
		}).keyup(function(){
			updateInfo();
	});
	function updateInfo(){
		if(zhChar == 1){
			if( maxNum <= $obj.val().length  ){
				var allowVal = $obj.val().slice(0,maxNum);
				$obj.val(allowVal);
			}
			$showInfoObj.html(maxNum - $obj.val().length );		
		}else{
			if( maxNum <= stringLen($obj.val())  ){
				var allowVal = StringSub($obj.val() , maxNum );
				$obj.val(allowVal);
			}
			$showInfoObj.html(maxNum - stringLen($obj.val()));			
		}
	}
};


function screenScroll(obj){
	if( !$(obj).get(0)) return;
	var menuYloc = 0;//$(obj).offset().top;
	$(window).scroll(function (){
		var offsetTop = menuYloc + $(window).scrollTop() +"px";
		$(obj).animate({top : offsetTop },{ duration:600 , queue:false });
	});
};


function tabs(obj,moveObj,boxObj){
	var $a = $(moveObj).eq(0).addClass('action').end();
	var $ul = $(boxObj).hide().eq(0).show().end();
	var index = 0;
	$a.each(function(){
		$(this).mouseover(function(){
			index = $a.index(this);
			$a.removeClass('action');
			$(this).addClass('action');
			$ul.hide().eq(index).show();
		}).click(function(){ return false; });
	});
};

function inputChangeTitle(obj){
	var $obj = $(obj);
	var value = $obj.attr('defaultVal');
	if( $obj.val() == '' ) $obj.val(value);
	$obj.focus(function(){
		if( $(this).val() == value ) $(this).val('');
	}).blur(function(){
		if( $(this).val() == '' ) $(this).val(value);
	});
};

function getFileName(fileUrl){
	if(!fileUrl) return ;
	fileUrl = fileUrl.split('.');
	var len = fileUrl.length -1;
	var name = '';
	for(var i = 0;i < len ; i++){
		name = name +'.'+ fileUrl[i];
	}
	return name.replace('.','');
};

function getViewSize(){
	var de=document.documentElement;
	var db=document.body;
	var viewW=de.clientWidth==0 ?  db.clientWidth : de.clientWidth;
	var viewH=de.clientHeight==0 ?  db.clientHeight : de.clientHeight;
	return Array(viewW,viewH);
}


function star(obj,limitNum){
	if(!limitNum) limitNum = 0;
	var $obj = $(obj);
	var isPost = false ;
	var $info = $obj.parent().append('<div class="info"></div>').find('div.info');
	var index = 0;
	setStar(limitNum);
	$(obj).find('a').click(function(){
		index = $(obj).find('a').index(this);
		$info.show().html(loading);
		$.post($(this).attr('href') +'&dataType=ajax',function(data){
			/*
			var star = '';
			var classAction = '';
			for(var i = 0; i < 5 ;i++){
				classAction = i <= index ? ' class="a" ' : '';
				star += '<i'+classAction+'></i>';
			}
			
			//$(obj).removeClass('yellow');
			if('ok'==data.status)
				$obj.find('span').html(star);
			*/
			limitNum = index + 1;			
			$info.html(data.msg).parent().find('.oldInfo').hide();
		},'json');
		return false;
	}).hover(function(){
		index = $(obj).find('a').index(this);
		$(obj).find('a').removeClass('a');
		setStar(index);
	},function(){
		$(obj).find('a').removeClass('a');
		setStar(limitNum);
	});
	function setStar(num){
		for(var i = 0; i<num ;i++){
			$(obj).find('a').eq(i).addClass('a');
		}	
	}
};

function replaceBom( str ){  

	var charset = [];
	charset[1] = str.substr(0,1);  
    charset[2] = str.substr(1,1);  
    charset[3] = str.substr(2,1); 
    if  ( charset[1].charCodeAt() == 65279)// && charset[2].charCodeAt() == 116 && charset[3].charCodeAt() == 109)  
    	return str.substr(1);
	else
		return str; 
}

